Continuing advances in storage technology provide significant amounts of digital data to be stored cheaply and efficiently. One existing technology that is capable of storing large volumes of digital data is blockchain technology. In general, blockchain technology is most widely known as the technology behind the popular cryptocurrency, Bitcoin. A blockchain creates a history of data deposits, messages, or transactions in a series of blocks where each block contains a mathematical summary, called a hash, of the previous block. In turn, this process creates a chain where any changes made to a block will change that block's hash, which must be recomputed and stored in the next block. This changes the hash of the next block, which must also be recomputed and so on until the end of the chain.
Verification of authenticity of files stored in a database using hashes of the files in a blockchain network has also been widely used. FIG. 1 illustrates a block diagram of an example of an existing system that stores hashes of files in a blockchain network. As shown, a plurality of files 12a-12e are collectively stored in a database 10 as a set of files 12. Hashes for each of the files 12a-12e can be created and transmitted to blockchain network 20 for storage. As further shown, the blockchain network 20 can be a distributed network formed from a plurality of nodes or computers 22a-22e, for example. The blockchain network 20 maintains a continuously-growing list of file hashes that are hardened against tampering and revision and is composed of data structure blocks that exclusively hold the hashes of the files 12 received from the data storage 10. Typically, every node (e.g., computers 22a-22e) in the decentralized system has a copy of the growing blockchain. This design avoids the need to have a centralized database managed by a trusted third party. Moreover, each of the nodes 22a-22e can validate the data, add hash values them to their copy of the blockchain and then broadcast these additions to other nodes in accordance with existing blockchain methodologies.
While blockchain technology offers many significant advantages (e.g., improved data security) for distributed data storage system when compared with older storage systems, blockchain storage techniques can still be unacceptable in certain situations. For example, when the amount of data blocks, files, and the like, received by the database 10 is too large (e.g., hundreds or even thousands of records per second) the blockchain cannot process all of these transactions since its capacity is limited to a certain amount of records in a given time period. Moreover, transactions stored using a blockchain network (e.g., blockchain network 20) can be quite expensive. For example, each record may costs a few cents for storage in the network 20, which can be unacceptable when the number of records is in the thousands or millions.